package ar.edu.utn.frsf.tpae.a2014.g01.entidad;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "his")
public class HistorialPedido {

        @Id
        @Column(name = "his_id")
        @SequenceGenerator(name = "seq_his", sequenceName = "seq_his", allocationSize = 1)
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_his")
        private int id;
        
        @Column(name = "his_est")
        private Estado estado;
        
        @Column(name = "his_fch")
        @Temporal(TemporalType.TIMESTAMP)
        private Date fechaCambioEstado;
        
        @Column(name = "his_fch_reg")
        @Temporal(TemporalType.TIMESTAMP)
        private Date fechaCambioRegistro;
        
        @Column(name = "his_cmt")
        private String comentario;
        
        @ManyToOne
        @JoinColumn(name="his_ped_id")
        private Pedido pedido;
	
	@Override
	public String toString() {
		return "HistorialPedido [id=" + id + ", estado=" + estado
				+ ", fechaCambioEstado=" + fechaCambioEstado
				+ ", fechaCambioRegistro=" + fechaCambioRegistro
				+ ", comentario=" + comentario + "]";
	}

	public HistorialPedido(int id, Estado estado, Date fechaCambioEstado,
			Date fechaCambioRegistro, String comentario) {
		super();
		this.id = id;
		this.estado = estado;
		this.fechaCambioEstado = fechaCambioEstado;
		this.fechaCambioRegistro = fechaCambioRegistro;
		this.comentario = comentario;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public Estado getEstado() {
		return estado;
	}

	public void setEstado(Estado estado) {
		this.estado = estado;
	}

	public Date getFechaCambioEstado() {
		return fechaCambioEstado;
	}

	public void setFechaCambioEstado(Date fechaCambioEstado) {
		this.fechaCambioEstado = fechaCambioEstado;
	}

	public Date getFechaCambioRegistro() {
		return fechaCambioRegistro;
	}

	public void setFechaCambioRegistro(Date fechaCambioRegistro) {
		this.fechaCambioRegistro = fechaCambioRegistro;
	}

	public String getComentario() {
		return comentario;
	}

	public void setComentario(String comentario) {
		this.comentario = comentario;
	}

	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}
	
	
	
	
}
